package com.jiutong.meipenggang.http.model.services;

import com.jiutong.meipenggang.common.Constants;
import com.jiutong.meipenggang.entity.HomeHongBaoBean;
import com.jiutong.meipenggang.entity.HongBaoBean;
import com.jiutong.meipenggang.entity.InvestDetailBean;
import com.jiutong.meipenggang.entity.InvestMoneyBean;
import com.jiutong.meipenggang.entity.InvestMoneySuccessBean;
import com.jiutong.meipenggang.entity.InvestRecordBean;
import com.jiutong.meipenggang.entity.MeiLiCaiBean;
import com.jiutong.meipenggang.entity.RepaymentPlanBean;

import java.util.Map;

import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import rx.Observable;

/**
 * @author Veken
 * @date on 2017/12/19 10:37
 * @describe
 */

public interface MeiLiCaiService {
    /**
     * 获取美理财页面信息
     * @param fields
     * @return
     */
    @FormUrlEncoded
    @POST(Constants.SERVICES)
    Observable<MeiLiCaiBean> getMeiLiCaiFragmentInfo(@FieldMap Map<String, Object> fields);

    /**
     * 获取还款计划信息
     * @param fields
     * @return
     */
    @FormUrlEncoded
    @POST(Constants.SERVICES)
    Observable<RepaymentPlanBean> getRepaymentPlanInfo(@FieldMap Map<String, Object> fields);

    /**
     * 获取红包信息
     * @param fields
     * @return
     */
    @FormUrlEncoded
    @POST(Constants.SERVICES)
    Observable<HongBaoBean> getHongBaoInfo(@FieldMap Map<String, Object> fields);

    /**
     * 获取首页红包信息
     * @param fields
     * @return
     */
    @FormUrlEncoded
    @POST(Constants.SERVICES)
    Observable<HomeHongBaoBean> getHomeHongBaoInfo(@FieldMap Map<String, Object> fields);

    /**
     * 获取投资标的Item详细信息
     * @param fields
     * @return
     */
    @FormUrlEncoded
    @POST(Constants.SERVICES)
    Observable<InvestDetailBean> getInvestDetailInfo(@FieldMap Map<String, Object> fields);

    /**
     * 获取投资记录详细信息
     * @param fields
     * @return
     */
    @FormUrlEncoded
    @POST(Constants.SERVICES)
    Observable<InvestRecordBean> getInvestRecordInfo(@FieldMap Map<String, Object> fields);

    /**
     * 投资页面
     * @param fields
     * @return
     */
    @FormUrlEncoded
    @POST(Constants.SERVICES)
    Observable<InvestMoneyBean> getInvestMoneyInfo(@FieldMap Map<String, Object> fields);

    /**
     * 投资成功
     * @param fields
     * @return
     */
    @FormUrlEncoded
    @POST(Constants.SERVICES)
    Observable<InvestMoneySuccessBean> investMoney(@FieldMap Map<String, Object> fields);

}
